Skip to main content

Deployments Overview

Once an algorithm has been backtested and you're ready to run it against real markets, there are two stages to think about: rehearsing it safely, and then deploying it so it keeps running without your laptop being open.

The framework supports both local and cloud deployments, giving you flexibility in how you run your algorithms. Also, you can use a managed cloud service like the Finterion Platform to handle deployment and operation for you.

Managed Hosting​

Finterion​

Finterion Platform logo

Finterion provides infrastructure and tools for quantitative trading. One of its key offerings is a managed platform for deploying and operating trading algorithms built with the Investing Algorithm Framework.

It currently provides the following deployment and operational features:

  • Managed hosting of algorithms
  • Paper trading on various exchanges and brokers
  • Live deployments on various exchanges and brokers
  • Algorithm versioning and rollback
  • Secure storage of API keys and secrets
  • Drift detection and alerting based on past strategy performance and backtest results
  • Regime shift detection and alerting based on market conditions
  • Risk management and alerting based on predefined thresholds
  • Fine grained control over deployment and operational parameters
  • Marketplace for trading algorithms to be shared and discovered by other users

Follow the following tutorial to get started with deploying your algorithm on Finterion.

Self managed​

1. Rehearse with paper trading​

Before risking real capital (or even before you have exchange API keys at all), run your strategy with Paper Trading enabled. It executes your strategy exactly as it would run live — either against a broker's own sandbox/testnet, or against a local simulator — without ever placing a real order.

2. Deploy to the cloud​

The framework includes a CLI tool (iaf) that scaffolds and deploys your project so it can run unattended on a schedule. Two deployment targets are supported out of the box:

  • AWS Lambda — Serverless deployment using boto3, with an S3 bucket for state persistence.
  • Azure Functions — Serverless deployment using the Azure SDK, with Blob Storage for state persistence.

Both platforms are set up the same way: scaffold a project with iaf init --type <target>, then deploy it with the matching iaf deploy-* command. See the platform-specific pages linked above for prerequisites, commands, and options.

You can also run your bot locally (or on your own server) without any cloud deployment at all — the default and default_web project types generated by iaf init need no cloud credentials:

# Default project (local execution)
iaf init

# Project with a web interface
iaf init --type default_web

This generates:

  • app.py — Main entry point with create_app() and app.start()
  • strategy.py — Example TradingStrategy subclass
  • data_providers.py — Example data provider setup
  • requirements.txt — Python dependencies
  • .env.example — Template for environment variables
  • .gitignore — Standard Python gitignore

Next Steps​